home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 January: Mac OS SDK / Dev.CD Jan 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / ComponentIncludes / MediaHandlers.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  13.7 KB  |  256 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        MediaHandlers.k.h
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __MEDIAHANDLERS_K__
  18. #define __MEDIAHANDLERS_K__
  19.  
  20. #include <MediaHandlers.h>
  21.  
  22. /*
  23.     Example usage:
  24.  
  25.         #define MEDIA_BASENAME()    Fred
  26.         #define MEDIA_GLOBALS()    FredGlobalsHandle
  27.         #include <MediaHandlers.k.h>
  28.  
  29.     To specify that your component implementation does not use globals, do not #define MEDIA_GLOBALS
  30. */
  31. #ifdef MEDIA_BASENAME
  32.     #ifndef MEDIA_GLOBALS
  33.         #define MEDIA_GLOBALS() 
  34.         #define ADD_MEDIA_COMMA 
  35.     #else
  36.         #define ADD_MEDIA_COMMA ,
  37.     #endif
  38.     #define MEDIA_GLUE(a,b) a##b
  39.     #define MEDIA_STRCAT(a,b) MEDIA_GLUE(a,b)
  40.     #define ADD_MEDIA_BASENAME(name) MEDIA_STRCAT(MEDIA_BASENAME(),name)
  41.  
  42.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Initialize) (MEDIA_GLOBALS() ADD_MEDIA_COMMA GetMovieCompleteParams * gmc);
  43.  
  44.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetHandlerCapabilities) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  flags, long  flagsMask);
  45.  
  46.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Idle) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  atMediaTime, long  flagsIn, long * flagsOut, const TimeRecord * movieTime);
  47.  
  48.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetMediaInfo) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Handle  h);
  49.  
  50.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(PutMediaInfo) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Handle  h);
  51.  
  52.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetActive) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Boolean  enableMedia);
  53.  
  54.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetRate) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Fixed  rate);
  55.  
  56.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GGetStatus) (MEDIA_GLOBALS() ADD_MEDIA_COMMA ComponentResult * statusErr);
  57.  
  58.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TrackEdited) (MEDIA_GLOBALS());
  59.  
  60.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetMediaTimeScale) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeScale  newTimeScale);
  61.  
  62.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetMovieTimeScale) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeScale  newTimeScale);
  63.  
  64.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetGWorld) (MEDIA_GLOBALS() ADD_MEDIA_COMMA CGrafPtr  aPort, GDHandle  aGD);
  65.  
  66.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetDimensions) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Fixed  width, Fixed  height);
  67.  
  68.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetClip) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  theClip);
  69.  
  70.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetMatrix) (MEDIA_GLOBALS() ADD_MEDIA_COMMA MatrixRecord * trackMovieMatrix);
  71.  
  72.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetTrackOpaque) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Boolean * trackIsOpaque);
  73.  
  74.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetGraphicsMode) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  mode, const RGBColor * opColor);
  75.  
  76.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetGraphicsMode) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long * mode, RGBColor * opColor);
  77.  
  78.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GSetVolume) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short  volume);
  79.  
  80.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetSoundBalance) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short  balance);
  81.  
  82.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSoundBalance) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short * balance);
  83.  
  84.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetNextBoundsChange) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue * when);
  85.  
  86.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSrcRgn) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  rgn, TimeValue  atMediaTime);
  87.  
  88.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Preroll) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  time, Fixed  rate);
  89.  
  90.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SampleDescriptionChanged) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  index);
  91.  
  92.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(HasCharacteristic) (MEDIA_GLOBALS() ADD_MEDIA_COMMA OSType  characteristic, Boolean * hasIt);
  93.  
  94.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetOffscreenBufferSize) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Rect * bounds, short  depth, CTabHandle  ctab);
  95.  
  96.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetHints) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  hints);
  97.  
  98.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetName) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Str255  name, long  requestedLanguage, long * actualLanguage);
  99.  
  100.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ForceUpdate) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  forceUpdateFlags);
  101.  
  102.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetDrawingRgn) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle * partialRgn);
  103.  
  104.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GSetActiveSegment) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  activeStart, TimeValue  activeDuration);
  105.  
  106.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(InvalidateRegion) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  invalRgn);
  107.  
  108.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetNextStepTime) (MEDIA_GLOBALS() ADD_MEDIA_COMMA short  flags, TimeValue  mediaTimeIn, TimeValue * mediaTimeOut, Fixed  rate);
  109.  
  110.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetNonPrimarySourceData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex, long  dataDescriptionSeed, Handle  dataDescription, void * data, long  dataSize, ICMCompletionProcRecordPtr  asyncCompletionProc, UniversalProcPtr  transferProc, void * refCon);
  111.  
  112.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ChangedNonPrimarySource) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex);
  113.  
  114.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TrackReferencesChanged) (MEDIA_GLOBALS());
  115.  
  116.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSampleDataPointer) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  sampleNum, Ptr * dataPtr, long * dataSize, long * sampleDescIndex);
  117.  
  118.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ReleaseSampleDataPointer) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  sampleNum);
  119.  
  120.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TrackPropertyAtomChanged) (MEDIA_GLOBALS());
  121.  
  122.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetTrackInputMapReference) (MEDIA_GLOBALS() ADD_MEDIA_COMMA QTAtomContainer  inputMap);
  123.  
  124.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetVideoParam) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  whichParam, unsigned short * value);
  125.  
  126.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetVideoParam) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  whichParam, unsigned short * value);
  127.  
  128.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(Compare) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Boolean * isOK, Media  srcMedia, ComponentInstance  srcMediaComponent);
  129.  
  130.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetClock) (MEDIA_GLOBALS() ADD_MEDIA_COMMA ComponentInstance * clock);
  131.  
  132.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetSoundOutputComponent) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Component  outputComponent);
  133.  
  134.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetSoundOutputComponent) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Component * outputComponent);
  135.  
  136.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetSoundLocalizationData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Handle  data);
  137.  
  138.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetInvalidRegion) (MEDIA_GLOBALS() ADD_MEDIA_COMMA RgnHandle  rgn);
  139.  
  140.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SampleDescriptionB2N) (MEDIA_GLOBALS() ADD_MEDIA_COMMA SampleDescriptionHandle  sampleDescriptionH);
  141.  
  142.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SampleDescriptionN2B) (MEDIA_GLOBALS() ADD_MEDIA_COMMA SampleDescriptionHandle  sampleDescriptionH);
  143.  
  144.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(QueueNonPrimarySourceData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex, long  dataDescriptionSeed, Handle  dataDescription, void * data, long  dataSize, ICMCompletionProcRecordPtr  asyncCompletionProc, const ICMFrameTimeRecord * frameTime, UniversalProcPtr  transferProc, void * refCon);
  145.  
  146.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(FlushNonPrimarySourceData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  inputIndex);
  147.  
  148.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetURLLink) (MEDIA_GLOBALS() ADD_MEDIA_COMMA Point  displayWhere, Handle * urlLink);
  149.  
  150.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(MakeMediaTimeTable) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long ** offsets, TimeValue  startTime, TimeValue  endTime, TimeValue  timeIncrement, short  firstDataRefIndex, short  lastDataRefIndex, long * retDataRefSkew);
  151.  
  152.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(HitTestForTargetRefCon) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  flags, Point  loc, long * targetRefCon);
  153.  
  154.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(HitTestTargetRefCon) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  targetRefCon, long  flags, Point  loc, Boolean * wasHit);
  155.  
  156.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(GetActionsForQTEvent) (MEDIA_GLOBALS() ADD_MEDIA_COMMA QTEventRecordPtr  event, long  targetRefCon, QTAtomContainer * container, QTAtom * atom);
  157.  
  158.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(DisposeTargetRefCon) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  targetRefCon);
  159.  
  160.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(TargetRefConsEqual) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long  firstRefCon, long  secondRefCon, Boolean * equal);
  161.  
  162.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(SetActionsCallback) (MEDIA_GLOBALS() ADD_MEDIA_COMMA ActionsUPP  actionsCallbackProc, void * refcon);
  163.  
  164.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(PrePrerollBegin) (MEDIA_GLOBALS() ADD_MEDIA_COMMA TimeValue  time, Fixed  rate, PrePrerollCompleteUPP  completeProc, void * refcon);
  165.  
  166.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(PrePrerollCancel) (MEDIA_GLOBALS() ADD_MEDIA_COMMA void * refcon);
  167.  
  168.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(ExecuteOneAction) (MEDIA_GLOBALS() ADD_MEDIA_COMMA QTAtomContainer  container, QTAtom  actionAtom);
  169.  
  170.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(EnterEmptyEdit) (MEDIA_GLOBALS());
  171.  
  172.     EXTERN_API( ComponentResult  ) ADD_MEDIA_BASENAME(CurrentMediaQueuedData) (MEDIA_GLOBALS() ADD_MEDIA_COMMA long * milliSecs);
  173.  
  174.  
  175.     /* MixedMode ProcInfo constants for component calls */
  176.     enum {
  177.         uppMediaInitializeProcInfo = 0x000003F0,
  178.         uppMediaSetHandlerCapabilitiesProcInfo = 0x00000FF0,
  179.         uppMediaIdleProcInfo = 0x0000FFF0,
  180.         uppMediaGetMediaInfoProcInfo = 0x000003F0,
  181.         uppMediaPutMediaInfoProcInfo = 0x000003F0,
  182.         uppMediaSetActiveProcInfo = 0x000001F0,
  183.         uppMediaSetRateProcInfo = 0x000003F0,
  184.         uppMediaGGetStatusProcInfo = 0x000003F0,
  185.         uppMediaTrackEditedProcInfo = 0x000000F0,
  186.         uppMediaSetMediaTimeScaleProcInfo = 0x000003F0,
  187.         uppMediaSetMovieTimeScaleProcInfo = 0x000003F0,
  188.         uppMediaSetGWorldProcInfo = 0x00000FF0,
  189.         uppMediaSetDimensionsProcInfo = 0x00000FF0,
  190.         uppMediaSetClipProcInfo = 0x000003F0,
  191.         uppMediaSetMatrixProcInfo = 0x000003F0,
  192.         uppMediaGetTrackOpaqueProcInfo = 0x000003F0,
  193.         uppMediaSetGraphicsModeProcInfo = 0x00000FF0,
  194.         uppMediaGetGraphicsModeProcInfo = 0x00000FF0,
  195.         uppMediaGSetVolumeProcInfo = 0x000002F0,
  196.         uppMediaSetSoundBalanceProcInfo = 0x000002F0,
  197.         uppMediaGetSoundBalanceProcInfo = 0x000003F0,
  198.         uppMediaGetNextBoundsChangeProcInfo = 0x000003F0,
  199.         uppMediaGetSrcRgnProcInfo = 0x00000FF0,
  200.         uppMediaPrerollProcInfo = 0x00000FF0,
  201.         uppMediaSampleDescriptionChangedProcInfo = 0x000003F0,
  202.         uppMediaHasCharacteristicProcInfo = 0x00000FF0,
  203.         uppMediaGetOffscreenBufferSizeProcInfo = 0x00003BF0,
  204.         uppMediaSetHintsProcInfo = 0x000003F0,
  205.         uppMediaGetNameProcInfo = 0x00003FF0,
  206.         uppMediaForceUpdateProcInfo = 0x000003F0,
  207.         uppMediaGetDrawingRgnProcInfo = 0x000003F0,
  208.         uppMediaGSetActiveSegmentProcInfo = 0x00000FF0,
  209.         uppMediaInvalidateRegionProcInfo = 0x000003F0,
  210.         uppMediaGetNextStepTimeProcInfo = 0x0000FEF0,
  211.         uppMediaSetNonPrimarySourceDataProcInfo = 0x00FFFFF0,
  212.         uppMediaChangedNonPrimarySourceProcInfo = 0x000003F0,
  213.         uppMediaTrackReferencesChangedProcInfo = 0x000000F0,
  214.         uppMediaGetSampleDataPointerProcInfo = 0x0000FFF0,
  215.         uppMediaReleaseSampleDataPointerProcInfo = 0x000003F0,
  216.         uppMediaTrackPropertyAtomChangedProcInfo = 0x000000F0,
  217.         uppMediaSetTrackInputMapReferenceProcInfo = 0x000003F0,
  218.         uppMediaSetVideoParamProcInfo = 0x00000FF0,
  219.         uppMediaGetVideoParamProcInfo = 0x00000FF0,
  220.         uppMediaCompareProcInfo = 0x00003FF0,
  221.         uppMediaGetClockProcInfo = 0x000003F0,
  222.         uppMediaSetSoundOutputComponentProcInfo = 0x000003F0,
  223.         uppMediaGetSoundOutputComponentProcInfo = 0x000003F0,
  224.         uppMediaSetSoundLocalizationDataProcInfo = 0x000003F0,
  225.         uppMediaGetInvalidRegionProcInfo = 0x000003F0,
  226.         uppMediaSampleDescriptionB2NProcInfo = 0x000003F0,
  227.         uppMediaSampleDescriptionN2BProcInfo = 0x000003F0,
  228.         uppMediaQueueNonPrimarySourceDataProcInfo = 0x03FFFFF0,
  229.         uppMediaFlushNonPrimarySourceDataProcInfo = 0x000003F0,
  230.         uppMediaGetURLLinkProcInfo = 0x00000FF0,
  231.         uppMediaMakeMediaTimeTableProcInfo = 0x003AFFF0,
  232.         uppMediaHitTestForTargetRefConProcInfo = 0x00003FF0,
  233.         uppMediaHitTestTargetRefConProcInfo = 0x0000FFF0,
  234.         uppMediaGetActionsForQTEventProcInfo = 0x0000FFF0,
  235.         uppMediaDisposeTargetRefConProcInfo = 0x000003F0,
  236.         uppMediaTargetRefConsEqualProcInfo = 0x00003FF0,
  237.         uppMediaSetActionsCallbackProcInfo = 0x00000FF0,
  238.         uppMediaPrePrerollBeginProcInfo = 0x0000FFF0,
  239.         uppMediaPrePrerollCancelProcInfo = 0x000003F0,
  240.         uppMediaExecuteOneActionProcInfo = 0x00000FF0,
  241.         uppMediaEnterEmptyEditProcInfo = 0x000000F0,
  242.         uppMediaCurrentMediaQueuedDataProcInfo = 0x000003F0
  243.     };
  244.  
  245. #endif    /* MEDIA_BASENAME */
  246.  
  247. #ifdef MEDIA_BASENAME
  248. enum {
  249.     uppMediaSTSampleTableGetChunkNumProcInfo = SPECIAL_CASE_PROCINFO(specialMediaSTSampleTableGetChunkNum),
  250.     uppMediaSTPrivateSampleTableGetSampleProcInfo = SPECIAL_CASE_PROCINFO(specialMediaSTPrivateSampleTableGetSample)
  251. };
  252. #endif    /* MEDIA_BASENAME */
  253.  
  254. #endif /* __MEDIAHANDLERS_K__ */
  255.  
  256.